﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sinacor.OMM.DumpEntity
{
    [Serializable]
    public class DumpErrorData : DumpData
    {
        public DumpErrorData()
        {
            this.Type = DumpType.Type.DumpLine;
        }
        
        private string _source;
        public string Source
        {
          get { return _source; }
          set { _source = value; }
        }

        private string _errorDescription;
        public string ErrorDescription
        {
          get { return _errorDescription; }
          set { _errorDescription = value; }
        }

        private string _exceptionMessage;
        public string ExceptionMessage
        {
          get { return _exceptionMessage; }
          set { _exceptionMessage = value; }
        }

        private string _messageId;
        public string MessageId
        {
            get { return _messageId; }
            set { _messageId = value; }
        }

        private string _originalMessage;
        public string OriginalMessage
        {
            get { return _originalMessage; }
            set { _originalMessage = value; }
        }

        private string _recoveryProcedure;
        public string RecoveryProcedure
        {
            get { return _recoveryProcedure; }
            set { _recoveryProcedure = value; }
        }

        public override string ToString()
        {
            string ret = string.Empty;

            ret += "\r\n";
            ret += "---- Inicio ---------------------------------------------------------------------------------------------------------- \r\n";
            ret += "Origem..................: " + _source + "\r\n";
            ret += "Descrição...............: " + _errorDescription + "\r\n";
            ret += "Exception...............: " + _exceptionMessage + "\r\n";
            ret += "Message Id.....[msgid]..:[" + _messageId + "]\r\n";
            ret += "Original Message [msg]..:[" + _originalMessage + "]\r\n";
            ret += "Procedimento Recovery \r\n";
            ret += _recoveryProcedure;
            ret += "---- Fim ------------------------------------------------------------------------------------------------------------- \r\n";

            return ret;
        }
    }
}
